﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Inmobiliaria.Services.Core.DTO;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using System.Data;

namespace Inmobiliaria.Data
{
    public class DaoPlanillaInmueble
    {
        public void GuardarInmueble(DtoPlanillaInmueble planilla)
        {
            MySql.Data.MySqlClient.MySqlConnection connection = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["INMOBILIARIA"].ConnectionString);

            /////Persona
            string apellido = planilla.Apellido;
            string nombre = planilla.Nombre;
            string codTelefono = planilla.CodTelefono;
            string telefono = planilla.Telefono;
            string codCelular = planilla.CodCelular;
            string celular = planilla.Celular;
            string email = planilla.Email;
            string vendedor = planilla.Vendedor;

            /////Inmueble
            int tipoinmueble = planilla.TipoInmueble;
            string transaccion = planilla.Transaccion;
            int provincia = planilla.Provincia;
            int localidad = planilla.Localidad;
            int barrio = planilla.Barrio;
            string calle = planilla.Calle;
            string altura = planilla.Altura;
            string lote = planilla.Lote;
            string superficieCubierta = planilla.SuperficieCubierta;
            string habitaciones = planilla.Habitaciones;
            string baño = planilla.Baños;
            string agua = planilla.Agua;
            string asfalto = planilla.Asfalto;
            string balcon = planilla.Balcon;
            string clocas = planilla.Cloacas;
            string cocina = planilla.Cocina;
            string comedor = planilla.Comedor;
            string descripcion = planilla.Descripcion;
            string gas = planilla.Gas;
            string jardin = planilla.Jardin;
            string living = planilla.Living;
            string luz = planilla.Luz;
            string patio = planilla.Patio;
            string quincho = planilla.Quincho;
            string telefonoInmueble = planilla.TelefonoInmueble;
            string terraza = planilla.Terraza;

            connection.Open();


            /////Guardo los datos de la persona 

            string BuscarPersona = "SELECT * From tpersonas where  txApellido = '" + apellido + "' and txNombre = '" + nombre + "' and txEmail = '" + email + "'";
            MySqlDataAdapter dt = new MySqlDataAdapter(BuscarPersona, connection);
            DataTable Tabla = new DataTable();
            dt.Fill(Tabla);
            if (Tabla.Rows.Count > 0)
            {
                throw new ApplicationException(Inmobiliaria.Data.Mensajes.ErrorPersona);
            }

            ///// BUSCO QUE YA NO HAYA UNA CUENTA DE EMAIL IGUAL EN LA BASE DE DATOS.
            string BuscarEmail = "SELECT * From tpersonas where txEmail = '" + email + "'";
            MySqlDataAdapter dt1 = new MySqlDataAdapter(BuscarEmail, connection);
            DataTable Tabla1 = new DataTable();
            dt1.Fill(Tabla1);
            if (Tabla1.Rows.Count > 0)
            {
                throw new ApplicationException(Inmobiliaria.Data.Mensajes.ErrorEmail);
            }

            else
            {
                MySqlCommand InsertarPersona = new MySqlCommand("INSERT INTO tpersonas(txTipoVendedor, txApellido, txNombre, txCodTelefono, txTelefono, txCodCelular, txCelular, txEmail)" + "VALUES ('" + vendedor + "', '" + apellido + "', '" + nombre + "','" + codTelefono + "', '" + telefono + "','" + codCelular + "','" + celular + "','" + email + "' )", connection);
                InsertarPersona.ExecuteNonQuery();
            }

            /////BUSCO LA PERSONA PARA ASOCIARLA AL INMUEBLE
            string BuscoIdPersona = "SELECT idPersona From tpersonas where txEmail = '" + email + "' and txApellido = '" + apellido + "' and txNombre = '" + nombre + "' ";

            MySqlDataAdapter dt2 = new MySqlDataAdapter(BuscoIdPersona, connection);
            MySqlCommandBuilder builder1 = new MySqlCommandBuilder(dt2);
            DataTable Tabla2 = new DataTable();
            dt2.Fill(Tabla2);
            if (Tabla2.Rows.Count > 0)
            {
                MySqlCommand comando = new MySqlCommand(BuscoIdPersona, connection);
                MySqlDataReader dr = comando.ExecuteReader();
                if (dr.Read())
                {
                    string persona = dr["idPersona"].ToString();
                    int idpersona = int.Parse(persona);
                    connection.Clone();
                    try
                    {
                        connection.Open();
                        MySqlCommand InsertarInmueble = new MySqlCommand("INSERT INTO tInmueble(idTipoinmueble, txTipoTransaccion, idProvincia, idLocalidad, idBarrio, txCalle, txAltura, txLote, txSuperficieCubierta, txHabitaciones, txBaño, txAgua, txAsfalto,  txBalcon, txClocas, txCocina, txComedor, txDescripcion, txGas, txJardin, txLiving, txLuz, txPatio, txQuincho, txTelefonoInmueble, txTerraza, idPersona)" + "VALUES ('" + tipoinmueble + "', '" + transaccion + "', '" + provincia + "','" + localidad + "', '" + barrio + "','" + calle + "','" + altura + "','" + lote + "','" + superficieCubierta + "','" + habitaciones + "','" + baño + "','" + agua + "','" + asfalto + "','" + balcon + "','" + clocas + "','" + cocina + "','" + comedor + "','" + descripcion + "','" + gas + "','" + jardin + "','" + living + "','" + luz + "','" + patio + "','" + quincho + "','" + telefono + "','" + terraza + "', '" + idpersona + "')", connection);
                        InsertarInmueble.ExecuteNonQuery();
                    }
                    catch { Exception ex; }
                }
            }
        }
    }
}
